package com.peas.platform.module.icims.base.approve.dto;

import java.util.*;

import com.peas.platform.common.core.annotation.Comment;
import com.peas.platform.common.core.dto.BaseDto;
import com.peas.platform.framework.mybatisplus.annotation.Condition;
import com.peas.platform.framework.mybatisplus.annotation.ConditionOperator;
import lombok.Data;
import lombok.EqualsAndHashCode;

// 审批单操作
@Data
@EqualsAndHashCode(callSuper = false)
public class ApproveOrderOperDto extends BaseDto {

    // 审批单操作类型
    // 枚举取值:ApproveOrderOperType
    @Comment(value = "审批单操作类型", enumType = "ApproveOrderOperType")
    @Condition(operator = ConditionOperator.IN)
    private String approveOrderOperType;

    // 审批单ID
    // （审批单表）外键
    @Comment(value = "审批单ID")
    private Long approveOrderId;

    // 审批单编号
    @Comment(value = "审批单编号")
    @Condition(operator = ConditionOperator.IN)
    private String approveOrderCode;

    // 审批单名称
    @Comment(value = "审批单名称")
    private String approveOrderName;

    // 当前审批人用户ID
    // （用户表）外键
    @Comment(value = "当前审批人用户ID")
    private Long currentApproveUserId;

    // 当前节点编号
    @Comment(value = "当前节点编号")
    private Integer currentNo;

    // 当前节点名称
    @Comment(value = "当前节点名称")
    private String currentName;

    // 审批结果
    // 通过、驳回
    // 枚举取值:ApproveResult
    @Comment(value = "审批结果", enumType = "ApproveResult")
    @Condition(operator = ConditionOperator.IN)
    private String approveResult;

    // 审批意见
    @Comment(value = "审批意见")
    private String approveOpinion;

    // 业务单类型
    // 枚举取值:ApproveOrderBusinessType
    @Comment(value = "业务单类型", enumType = "ApproveOrderBusinessType")
    @Condition(operator = ConditionOperator.IN)
    private String businessType;

    // 业务单ID
    // 外键
    @Comment(value = "业务单ID")
    private Long businessId;

    // 业务单详情URL
    @Comment(value = "业务单详情URL")
    private String businessUrl;

    //Criteria
    private Date createTimeStart;
    private Date createTimeEnd;
    private Date updateTimeStart;
    private Date updateTimeEnd;
}
